package org.zetaframework.annotation.log;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * <h1>定时任务日志</h1>
 *
 * <pre>
 * 说明：
 * 1. 主要用于记录定时任务的日志
 * 2. 配合xxl-job的@XxlJob注解使用
 * 3. 只能用于方法上
 * </pre>
 *
 * 使用方式：
 * <pre>{@code
 *      // 使用方式
 *      @JobLog // 可以不写value值。 默认使用@XxlJob注解的value值
 *      @XxlJob("demoJob")
 *      public void demoJob() { ... }
 *
 *      // 关闭记录定时任务日志
 *      @JobLog(enable = false)
 * }
 * </pre>
 *
 * @author gcc
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD})
public @interface JobLog {

    /**
     * 操作描述
     */
    String value() default  "";

    /**
     * 是否记录定时任务日志
     */
    boolean enabled() default true;
}
